package org.springblade.modules.admin.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tool.node.BaseNode;
import org.springblade.modules.admin.entity.MaintainPartsAttribute;

import java.util.Date;
import java.util.List;

/**
 * @author: Sharry
 * @createTime: 2024-10-14 14:02
 * @version: Version-1.0
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MaintainPartsWithAttributesTreeVO extends BaseNode<MaintainPartsWithAttributesTreeVO> {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键ID
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	protected Long id;

	/**
	 * 父节点ID
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	protected Long parentId;

	/**
	 * 名称
	 */
	private String name;

	/**
	 * 隐藏 0-隐藏，1-显示
	 */
	private Integer hidden;

	/**
	 * 图片路径，逗号拼接
	 */
	private String picture;

	private String ancestors;

	/**
	 * 电梯类型 0-曳引直梯，1-扶梯
	 */
	private Integer elevatorType;

	/**
	 * 结构类别 0-配件，1-位置
	 */
	private Integer structureType;

	/**
	 * 关联的类目id
	 */
	private Long categoryId;

	/**
	 * 类目信息
	 */
	private String categoryInfo;

	/**
	 * 别名集合
	 */
	private String aliasList;

	/**
	 * 创建人
	 */
	private String createUserName;

	private Date updateTime;

	private Date createTime;

	/**
	 * 属性列表
	 */
	private List<MaintainPartsAttribute> attributes;

}
